"""
继承分为：单继承和多继承

单继承：
    class 类名(父类名)：
        类内容体

多继承：
    class 类名(父类1,父类2,...,父类N):
        类内容体

继承表示：将从父类那里继承（复制）来成员变量和成员方法（不含私有）
"""

"""
继承就是一个类，继承另外一个类的成员变量和成员方法

子类构建的类对象，可以：
    有自己的成员变量和成员方法
    使用父类的成员变量和成员方法
    
单继承和多继承
    单继承：一个类继承另一个类
    多继承：一个类继承多个类，按照顺序从左向右依次继承
    多继承中，如果父类有同名方法或属性，先继承的优先级高于后继承
    
pass关键字的作用是：pass是占位语句，用来保证函数（方法）或类定义的完整性，表示无内容，空的意思

"""


# 演示单继承
class Phone:
    IMEI = None  # 序列号
    producer = "ITCAST"  # 厂商

    def call_by_4g(self):
        print("4g通话")


class Phone2022(Phone):
    face_id = "10001"  # 面部识别ID

    def call_by_5g(self):
        print("2022年新功能：5g通话")


phone = Phone2022()
print(phone.producer)
phone.call_by_4g()
phone.call_by_5g()


# 演示多继承
class NFCReader:
    nfc_type = "第五代"
    producer = "HM"

    def read_card(self):
        print("NFC读卡")

    def write_card(self):
        print("NFC写卡")


class RemoteControl:
    rc_type = "红外遥控"

    def control(self):
        print("红外遥控开启了")


class MyPhone(Phone, NFCReader, RemoteControl):
    pass


phone = MyPhone()
phone.call_by_4g()
phone.read_card()
phone.write_card()
phone.control()

print(phone.producer)
